// 自定义vue插件
import PageTools from '@/components/PageTools/index.vue'
import Types from '@/api/constant/employees'
import moment from 'moment'
// 注册全局的导入excel组件
import UploadExcel from '@/components/UploadExcel'
import ImageUpload from '@/components/ImageUpload'
import store from '@/store'
import { Message } from 'element-ui'
export default {
  install(Vue) {
    // 配置全局组件
    Vue.component(PageTools.name, PageTools)

    // 扩展全局过滤器(作用:格式化数据)
    Vue.filter('formatType', (value) => {
      // value表示传递给过滤器的数据（|左侧的值）
      const info = Types.hireType.find(item => parseInt(item.id) === parseInt(value))
      return info ? info.value : '其他'
    })

    // 扩展全局过滤器
    Vue.filter('formatDate', (value) => {
      if (!value) return '无'
      return moment(value).format('yyyy-MM-DD')
    })

    // 进行组件的全局注册
    Vue.component('UploadExcel', UploadExcel) // 注册导入excel组件

    Vue.component('ImageUpload', ImageUpload) // 注册导入上传组件
    // 扩展一个实例方法$isOk,用于验证菜单是否有访问权限
    Vue.prototype.$isOk = (flag) => {
      if (!store.getters.points.includes(flag)) {
        // 没有权限，提示即可
        Message.error('没有操作权限')
        return false
      }
      return true
    }
  }
}
